1. Field of Disclosure
This invention relates generally to computer programming, and particularly to migrating source code from one format to another.
2. Description of the Related Art
In computer programming, the migration of source code from one format to another is a common occurrence. For example, a given programming language may be updated from an initial version to a later version. The later version may include different operations, object data types, etc. As a result, to make source code written in the initial version compatible with the later version, modification of the source code may be required.
One technique for migrating source code involves using static analysis i.e., migrating the source code without executing the code. While such a technique normally is able to handle syntactic differences (i.e., differences in code formatting), it is not able to effectively handle semantic differences (i.e., differences in code behavior). More specifically, because information critical to code behavior (e.g., object data type information) is frequently not determined until source code execution or runtime, the technique is often unable to properly migrate code. As a result, code migrated using the technique must often be manually corrected, which can cause the code migration process to be tedious and time consuming for developers.